package org.lzh.controller;

import org.lzh.pojo.User;
import org.lzh.service.RegisterService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.util.ResourceUtils;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

import javax.servlet.http.HttpServletRequest;
import java.io.File;
import java.io.IOException;

@Controller
public class RegisterController {


    @Autowired
    private RegisterService registerService;

//    @RequestMapping(value = "register")//---------------------可删
//    public String zhuanRegister(){
//        return "register1";
//}


    @RequestMapping(value = "register.action", method = RequestMethod.POST)
    public String login(HttpServletRequest request,
                        @ModelAttribute User user,//@ModelAttribute这个注解可以将注册时输入的值封装成user对象，很方便
                        Model model             //model可以用model.addAttribute 添加属性，然后在跳转的jsp页面里用，也很好用
                                     ) throws IOException {
        if(!user.getId().isEmpty()&&!user.getPassword().isEmpty()){

            //判断是否已经有这个学号了
            if(registerService.findById(user.getId())!=null){
                model.addAttribute("id",user.getId());
                model.addAttribute("tip","学号已存在");
                return "login" ;
            }

            //判断教师内推码是否正确
            if(user.getStudentOrTeacher()!=null&&user.getStudentOrTeacher()==555){
                user.setStudentOrTeacher(1);
            }else {
                user.setStudentOrTeacher(0);
            }

            user.setNote("我还没想好写什么");
            user.setUsername("");

            //设置用户默认的头像
            user.setImageLu("123.jpeg");

            registerService.register(user);
            System.out.println(user.getId()+user.getUsername()+user.getPassword()+user.getNote()+user.getImageLu());
            model.addAttribute("tip","注册成功");
            return "login";
        }

        model.addAttribute("tip","不能为空");
        return "login" ;
    }



//---------------------------------------------可删

//    @RequestMapping(value = "register.action", method = RequestMethod.POST)
//    public String login(HttpServletRequest request,
//                        @ModelAttribute User user,//@ModelAttribute这个注解可以将注册时输入的值封装成user对象，很方便
//                        Model model             //model可以用model.addAttribute 添加属性，然后在跳转的jsp页面里用，也很好用
//    ) throws IOException {
//        if(user.getId()!=null&&user.getUsername()!=""&&user.getPassword()!=""&&!user.getImage().isEmpty()&&user.getStudentOrTeacher()!=null){
//
//            System.out.println(user.getId()+user.getUsername()+user.getPassword()+user.getNote()+user.getImageLu());
//
//
//            //中间这一串是处理注册时上传的图片image保存到 “当前绝对路径+/upload”
//            // 上传文件路径
//            String path = request.getServletContext().getRealPath("/upload/");
//
//            System.out.println(ResourceUtils.getURL("classpath:static").getPath() );
//            System.out.println("path = " + path);
//            // 上传文件名
//            String filename = user.getImage().getOriginalFilename();
//            File filepath = new File(path,filename);
//            // 判断路径是否存在，如果不存在就创建一个
//            if (!filepath.getParentFile().exists()) {
//                filepath.getParentFile().mkdirs();
//            }
//            // 将上传文件保存到一个目标文件当中
//            user.getImage().transferTo(new File(path+File.separator+ filename));
//
//
//            //判断是否已经有这个学号了
//            if(registerService.findById(user.getId())!=null){
//                model.addAttribute("id",user.getId());
//                model.addAttribute("msg","学号已存在");
//                return "register1" ;
//            }
//
//
////            // 将用户添加到model
////            model.addAttribute("user", user);
//            //将图片的地址（上传的文件名）赋值给ImageLu
//            user.setImageLu(filename);
//            registerService.register(user);
//            System.out.println(user.getId()+user.getUsername()+user.getPassword()+user.getNote()+user.getImageLu());
//
//            return "login1";
//        }
//        model.addAttribute("username",user.getUsername());
//        model.addAttribute("password",user.getPassword());
//        model.addAttribute("msg","不能为空");
//        return "register1" ;
//    }

}
